Runtime মেথডসমূহ: availableProcessors(), freeMemory(), totalMemory(), exec()

Java Technologies - Java.lang প্যাকেজ (Java.lang Package) - Runtime ক্লাস
205

Runtime ক্লাস Java.lang প্যাকেজের একটি গুরুত্বপূর্ণ ক্লাস, যা Java অ্যাপ্লিকেশন চালানোর সময় JVM (Java Virtual Machine) এর রানটাইম পরিবেশের সাথে ইন্টারঅ্যাক্ট করতে ব্যবহৃত হয়। Runtime ক্লাসের কিছু গুরুত্বপূর্ণ মেথড রয়েছে যেগুলি সিস্টেম রিসোর্স এবং অন্যান্য চলমান পরিবেশের তথ্য পেতে সহায়তা করে। এটি মূলত JVM-এর সিস্টেম রিসোর্স ব্যবহার, মেমরি পরিচালনা এবং অন্যান্য সিস্টেম অ্যাক্সেসের জন্য ব্যবহৃত হয়।

Runtime ক্লাসের গুরুত্বপূর্ণ মেথডসমূহ:

  1. availableProcessors():

    • এই মেথডটি রানটাইমে উপলব্ধ CPU কোর এর সংখ্যা রিটার্ন করে। এটি বিশেষভাবে মাল্টিথ্রেডিং অ্যাপ্লিকেশনগুলির জন্য উপকারী, যেখানে CPU কোরের সংখ্যা বুঝে থ্রেডের সংখ্যাও সেট করা যায়।

    সিনট্যাক্স:

    public int availableProcessors()
    

    Example:

    public class RuntimeExample {
        public static void main(String[] args) {
            Runtime runtime = Runtime.getRuntime();
            int processors = runtime.availableProcessors();
            System.out.println("Available processors: " + processors);  // Output: Number of available CPU cores
        }
    }
    

    ব্যাখ্যা:

    • availableProcessors() মেথডটি JVM এর মাধ্যমে উপলব্ধ CPU কোর বা processors সংখ্যা রিটার্ন করে। উদাহরণস্বরূপ, যদি আপনার সিস্টেমে 4 কোর থাকে, তাহলে এই মেথডটি 4 রিটার্ন করবে।

  1. freeMemory():

    • এই মেথডটি JVM-এর free memory (অর্থাৎ, কতটুকু মেমরি বর্তমানে অব্যবহৃত রয়েছে) রিটার্ন করে। এটি byte হিসেবে রিটার্ন করে এবং সাধারণত garbage collection এর পরিমাণ পরিমাপ করতে ব্যবহৃত হয়।

    সিনট্যাক্স:

    public long freeMemory()
    

    Example:

    public class RuntimeExample {
        public static void main(String[] args) {
            Runtime runtime = Runtime.getRuntime();
            long freeMemory = runtime.freeMemory();
            System.out.println("Free memory: " + freeMemory + " bytes");
        }
    }
    

    ব্যাখ্যা:

    • freeMemory() মেথডটি JVM এর free memory রিটার্ন করে, যা আপনি ব্যবহার করতে পারেন এবং এর মাধ্যমে আপনি জানতে পারবেন যে এখনও কতটুকু মেমরি অব্যবহৃত রয়েছে।

  1. totalMemory():

    • এই মেথডটি JVM-এর total memory রিটার্ন করে, অর্থাৎ, JVM দ্বারা বরাদ্দকৃত মোট মেমরি (যতটুকু মেমরি প্রোগ্রামটি ব্যবহার করতে পারে)। এটি bytes হিসেবে রিটার্ন করে।

    সিনট্যাক্স:

    public long totalMemory()
    

    Example:

    public class RuntimeExample {
        public static void main(String[] args) {
            Runtime runtime = Runtime.getRuntime();
            long totalMemory = runtime.totalMemory();
            System.out.println("Total memory: " + totalMemory + " bytes");
        }
    }
    

    ব্যাখ্যা:

    • totalMemory() মেথডটি JVM-এর মোট মেমরি রিটার্ন করে যা আপনার প্রোগ্রাম ব্যবহার করতে পারে। এটি সর্বমোট স্মৃতি সরবরাহের পরিমাণ জানায়।

  1. exec():

    • এই মেথডটি external processes চালানোর জন্য ব্যবহৃত হয়। আপনি এর মাধ্যমে সিস্টেম কমান্ড বা অন্য কোনো প্রোগ্রাম চালাতে পারেন যা আপনার সিস্টেমে বাইরের প্রক্রিয়া শুরু করতে সহায়তা করে।

    সিনট্যাক্স:

    public Process exec(String command) throws IOException
    public Process exec(String[] command) throws IOException
    
    • প্রথম মেথডটি একটি কমান্ড স্ট্রিং নেবে, এবং দ্বিতীয়টি একটি কমান্ড অ্যারে নেয়।

    Example:

    import java.io.IOException;
    
    public class RuntimeExample {
        public static void main(String[] args) {
            try {
                // Executes the command "notepad" to open Notepad (on Windows)
                Process process = Runtime.getRuntime().exec("notepad");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    

    ব্যাখ্যা:

    • exec() মেথডটি বাইরের কোনো প্রক্রিয়া (যেমন, notepad, cmd, sh, java ইত্যাদি) চালাতে ব্যবহৃত হয়। এখানে notepad কমান্ডের মাধ্যমে উইন্ডোজের নোটপ্যাড অ্যাপ্লিকেশন চালানো হয়েছে।

Other Important Methods in Runtime Class:

  1. exit():

    • এই মেথডটি Java প্রোগ্রামটিকে নির্দিষ্ট কোডের সাথে exit বা বন্ধ করার জন্য ব্যবহৃত হয়।

    Example:

    public class RuntimeExample {
        public static void main(String[] args) {
            Runtime.getRuntime().exit(0);  // Exit the program with status code 0
        }
    }
    
  2. gc():

    • এই মেথডটি Garbage Collection শুরু করতে ব্যবহৃত হয়। এটি JVM-কে স্মৃতি মুক্ত করার জন্য নির্দেশ দেয়।

    Example:

    public class RuntimeExample {
        public static void main(String[] args) {
            Runtime.getRuntime().gc();  // Request JVM to run garbage collection
        }
    }
    
  3. addShutdownHook():

    • এটি একটি shutdown hook যোগ করে, যা JVM বন্ধ হওয়ার আগে কিছু কাজ করার জন্য ব্যবহৃত হয়।

    Example:

    public class RuntimeExample {
        public static void main(String[] args) {
            Runtime.getRuntime().addShutdownHook(new Thread() {
                public void run() {
                    System.out.println("Shutdown hook is executed!");
                }
            });
        }
    }
    

Runtime ক্লাস Java-তে এক ধরনের runtime environment management ক্লাস, যা আপনাকে JVM এর সাথে ইন্টারঅ্যাক্ট করার সুযোগ দেয়। এর মেথডগুলি যেমন availableProcessors(), freeMemory(), totalMemory(), exec() ইত্যাদি আপনাকে সিস্টেমের পারফরম্যান্স এবং কাজের অবস্থান মনিটর করতে সহায়তা করে। Runtime ক্লাসের সাহায্যে আপনি মেমরি, CPU কোর এবং অন্যান্য সিস্টেম রিসোর্সের সাথে সম্পর্কিত তথ্য পেতে পারেন এবং বাইরের প্রক্রিয়াগুলিও চালাতে পারেন।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...